id: 11380883046
1L | 作者:林卡_Happy | 发布于 2011-02-21 20:46
Q:“45度斜角穿墙”乃何许物也?
A:乃MF之BUG也。因触发条件为MARIO到达砖块时与砖块的相对角为45度而得其名。
Q:原来如此。然此物如何?
A:利大于弊。
Q:成因如何?
A:请看这里——
####
MARIO到达砖块时的判定分为两种——
1.当MARIO与砖块的相对角绝对值小于45度时,MARIO的行走速度值变为0,X惯性变为0(估计MW的遇墙不停BUG就是因为行走惯性没有变为0的缘故……),MARIO停止X方向运动。
2.当MARIO与砖块的相对角绝对值大于45度时,MARIO的跳跃/降落速度值变为0,Y惯性变为0,MARIO停止Y方向运动。
----
于是乎,问题就来了……当MARIO与砖块的相对角绝对值等于45度时,该怎么办?
我用FLASH做过试验,结果如下——
假如用第一种判定,那么明明看到MARIO上砖块时比砖块高一个身高,却上不去……违反常理……
假如用第二种判定,那么明明看到MARIO走出砖块一个身长,却下不来……更违反常理……
假如都不用,那么——此BUG就形成了!!
我认为,可能是作者认为使用这两种判定都是违反常理的,就没有编程,就会出现此BUG了!
----
结论:45度斜角穿墙BUG可能是因为作者没有编程当MARIO与砖块的相对角绝对值等于45度时的判定而形成的!!
####
(PS:前面的文言文问答有古文语法错误请告诉我,还有,此结论仅为推测!)
(PS2:我花了半个多小时打字才写好的,我真的很渴望精品!)